<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\validate;  //使用自定义验证规则  
class Link extends Controller 
{
    public function lst()
    {
		$linkRes = db('link')->order('id DESC')->paginate(1);
		$this->assign([
			'linkRes'=>$linkRes
		]);
		return view('list');
	}
	public function add()
	{
		if(request()->isPost()){
			$data = input('post.');
			if($data['link_url'] && stripos($data['link_url'],'http://') === false){
				$data['link_url']='http://'.$data['link_url'];
			}
			//文件上传输出全部提交
			//dump($_FILES);  //获取包含图片的信息 
			//dump($data);die; // 不能获取上传图片的信息
			//处理上传图片
			if($_FILES['logo']['tmp_name']){
				$data['logo']=$this->upload();
			}
			//验证
			// $result=$this->validate($data,'link');
			// if(true !== $result){
			// 	//验证失败 输出错误信息
			// 	return $result;
				
			// }
			// $validate = validate('link');
    		// if(!$validate->check($data)){
			//     $this->error($validate->getError());
			// }
			$add= db('link')->insert($data);
			if($add){
				$this->success('添加链接成功!','lst');
			}else{
				$this->error('添加链接失败');
			}
			return;
		}
		return view();
	}
	public function edit()
	{
		if(request()->isPost()){
			$data = input('post.');
			if($data['link_url'] && stripos($data['link_url'],'http://') === false){
				$data['link_url']='http://'.$data['link_url'];
			}
			
			//文件上传输出全部提交
			//dump($_FILES);  //获取包含图片的信息 
			//dump($data);die; // 不能获取上传图片的信息
			//处理上传图片
			// echo IMG_UPLOADS;die;
			if($_FILES['logo']['tmp_name']){
				$oldlinks = db('link')->field('logo')->find($data['id']);
				//拼接图片的绝对路径D:\phpstudy_pro\WWW\shop\tp5\public\
				
				$oldlinkImg = IMG_UPLOADS.DS.$oldlinks['logo'];
				// echo $oldlinkImg."<br/>";
				// echo IMG_UPLOADS;
				// die;
				if(file_exists($oldlinkImg)){
					//删除指定文件的路径
					@unlink($oldlinkImg);
				}
				
				$data['logo']=$this->upload();
			}
			//验证
			// $validate = validate('link');
    		// if(!$validate->check($data)){
			//     $this->error($validate->getError());
			// }
			$save= db('link')->update($data);
			if($save !== false){
				$this->success('修改链接成功!','lst');
			}else{
				$this->error('修改链接失败');
			}
			return;
		}
		$id= input('id');
		$link = db('link')->find($id);
		$this->assign([
			'link' => $link
		]);
		return view();
	}
	public function del($id)
	{
		$linkObj=db('link');
		$links = $linkObj->field('logo')->find($id);
		if($links['logo']){
			$linkImg = IMG_UPLOADS.DS.$links['logo'];
				// echo $oldlinkImg."<br/>";
				// echo IMG_UPLOADS;
				// die;
				if(file_exists($linkImg)){
					//删除指定文件的路径
					@unlink($linkImg);
				}
		}
		$del = $linkObj->delete($id);
		if($del){
			$this->success('删除链接成功','lst');
		}else{
			$this->error('删除链接失败');
		}
	}
	public function upload(){
	    // 获取表单上传文件 例如上传了001.jpg
	    $file = request()->file('logo');
	    
	    // 移动到框架应用根目录/public/uploads/ 目录下
	    if($file){
	        $info = $file->move(ROOT_PATH . 'public' .DS.'static'. DS . 'uploads');
	        if($info){
	            return $info->getSaveName();
	        }else{
	            // 上传失败获取错误信息
	            echo $file->getError();
				die;
	        }
	    }
	}
}
